﻿using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface ISheepDeathService
    {
        /// <summary>
        /// 死亡列表
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="sheepSaleType"></param>
        /// <returns></returns>
        Task<PageOutput<SheepDeathOutput>> GetSheepDeaths(int pageIndex, int pageSize, string? sDate, string? eDate, string? overBit, int sheepDeathReason);
        /// <summary>
        /// 死亡添加
        /// </summary>
        /// <param name="sheepDeath"></param>
        /// <returns></returns>
        Task<int> AddSheepDeaths(SheepDeath sheepDeath);
        /// <summary>
        /// 死亡删除
        /// </summary>
        /// <param name="sheepDeathId"></param>
        /// <returns></returns>
        Task<int> DelSheepDeaths(int sheepDeathId);
        /// <summary>
        /// 批删删除
        /// </summary>
        /// <param name="sheepDeathIds"></param>
        /// <returns></returns>
        Task<int> BatchDelSheepDeaths(List<int> sheepDeathIds);
        /// <summary>
        /// 反填死亡信息
        /// </summary>
        /// <param name="sheepDeathId"></param>
        /// <returns></returns>
        Task<SheepDeath> GetSheepDeath(int sheepDeathId);
        /// <summary>
        /// 修改死亡信息
        /// </summary>
        /// <param name="sheepDeath"></param>
        /// <returns></returns>
        Task<int> UpdSheepDeaths(SheepDeath sheepDeath);

    }
}
